|
![](/i/fill.gif) |
> You might try setting the threshold very small - say 3/256. That way,
> when the rays come back virtually identical (e.g., in the middle of
> those big flat grid squares ;-) POV-Ray won't bother with AA. But
> it should still do it for the bright red lines. Experiment!
(Theoretically,
> there's no point setting it below 1/256 - unless you increase the
> number of bits per pixel. Not sure if any hardware out there can
> display it though...)
Lets take the simple case. If we have a flat blue background and our only
object is a very thin red cylinder, all the rays will come back blue except
the ones that the cylinder passes through. Correct? So if the test ray
comes back from a pixel that contained the cylinder put the test ray misses
the cylinder it will not know that it needs to perform the AA even if the
threshold is set at 1/256. At least that was my thinking so I'm not sure I
follow your theoretical argument above. I suspect I could render an image
with a threshold of 1/256 and again with 0 and with the right image you'd be
able to see a difference without any fancy hardware. But yes I do need to
do more experimenting. Its just slow going when it can take a week to
render one picture.
Ideally what I'd want to do I think is put a bounding box around the
cylinder that is atleast several pixels wide (at whatever the final
resolution is) and have a way to tell POV-Ray that any pixel that has a ray
that passes through that bounding box needs to use a given type of AA. I'm
rather sure that isn't doable in atleast the current version. It might be a
nice thing to suggest to the powers that be though as something to consider
adding. As I've only been ray tracing a few months I really don't know if
that's a good suggestion or not to be honest.
> The thing to really watch out for is intersections of infinite planes,
> where the intersection is finite. POV-Ray currently can't work that
> out; if an intersection is between only infinite objects, POV-Ray
> assumes the resulting shape is infinite too - i.e., EVERY ray is
> tested against it! It the resulting object is actually small, manually
> bounding it will probably help quite a bit. (On the other hand,
> plane intersection tests aren't that slow to do... But they still add
> up. ;-)
I only have one infinite plane, which is the grid, and I don't have it
making any intersections with anything be it another plane or a finite
object. However unless I'm missing something isn't the intersection between
two infinite planes always an infinite line. And I don't think trying to
render that line would work. You'd have to give it some width for it to
show up at all I think.
> IIRC, where you intersect an infinite object with a finite one,
> POV-Ray knows the result can't be infinite. Generally POV-Ray
> will use the smallest bounding volume to work out how big the
> result is. If you do add manual bounding, might need to set an
> option to tell POV-Ray not to ignore you. (IIRC it does that by
> default because older scenes tend to have this where they [now]
> don't need it.)
>
> Before I go, there's an option somewhere to turn on a useful little
> debug feature. It shows the bounding volumes graphically
> on-screen before it starts rendering. It will be real hard to work
> out which one belongs to which object, but might be vaguely
> usefull. Next time you render, try using the Draw_Vistas=on
> option. (You can read about it in the online help.)
Thanks, I will. This sounds like a very useful feature. Thanks for
pointing it out to me.
Carl
Post a reply to this message
|
![](/i/fill.gif) |